﻿using System;
using System.Collections.Generic;
using System.Collections;
using System.Text;
using System.IO;

namespace SNShell
{
    class comandos
    {
        public ArrayList lComandos = new ArrayList();
        public void AdicionaItem(string lItem, int lCont)
        {
            lComandos.Add(lItem);
            while (lCont <= lComandos.Count)
                 lComandos.RemoveAt(0);
        }
        public void ImprimeComandos()
        {
            foreach (string s in lComandos)
            {
                Console.WriteLine("::" + s);
            }
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Program Shell = new Program();
            Shell.Principal();
        }
        public void Principal() {
            string comando;
            comandos ListaComandos = new comandos();
            ImprimeCabecalho();
            Console.Write("::");
            do
            {
                comando = Console.ReadLine();
                ListaComandos.AdicionaItem(comando, Console.WindowHeight - 5);
                /* aqui tem que entrar o parser :)
                if (comando.Substring(0,5) == "split")
                {
                    comando = comando.Remove(0, 6);
                    string[] sarray = comando.Split(' ');
                    foreach (string s in sarray)
                      ListaComandos.AdicionaItem(s, Console.WindowHeight - 5);
                }
                */
                ImprimeCabecalho();
                ListaComandos.ImprimeComandos();
                Console.Write("::");
            } while (true);
        }
        private void ImprimeCabecalho()
        {
            Console.Clear();
            Console.WriteLine("╔═════════════════════════════════════════════════════════════╗");
            Console.WriteLine("║                            SNShell                          ║");
            Console.WriteLine("╚═════════════════════════════════════════════════════════════╝");           
            Console.CursorTop = Console.WindowHeight-2;
            Console.WriteLine("╔═════════════════════════════════════════════════════════════╗");
            Console.Write("║                            SNShell                          ║");
            Console.SetCursorPosition(0,3);
        }
    }
}
